

# Opciones para el compilador C/C++ en modo ansi.
CFLAGS = -Wall -pedantic -pedantic-errors

# Optimizar? (-O3) o no optimizar? (-O0) 
CFLAGS += -O0

# Para valgrind o debug
CFLAGS += -pg -ggdb -DDEBUG -fno-inline

# Estandar de C++ a usar
CFLAGS += -std=c++98

# Directorio fuente del codigo (no de los ejemplos)
SRC = ../

COMPILER = g++
RM = rm -f 

INCLUDE = -I$(SRC)
LIB = -lGL -lGLU -lglut
EXE = .out

EXCLUIR_OBJETOS = main.o

all:
	$(COMPILER) $(CFLAGS) -c $(INCLUDE) $(SRC)*.cpp
	$(RM) $(EXCLUIR_OBJETOS)
	$(COMPILER) $(CFLAGS) $(INCLUDE) -o ej_superficie$(EXE) ej_superficie.cpp *.o $(LIB)
	$(RM) ej_superficie.o
	$(COMPILER) $(CFLAGS) $(INCLUDE) -o ej_curva$(EXE) ej_curva.cpp *.o $(LIB)
	$(RM) ej_curva.o
	$(COMPILER) $(CFLAGS) $(INCLUDE) -o ej_bmp$(EXE) ej_bmp.cpp *.o $(LIB)
	$(RM) ej_bmp.o

clean:
	$(RM) *.o
	$(RM) *$(EXE)

